package com.tedu.food.sys.dao;

import com.tedu.food.sys.entity.CartItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CartItemDao {

    /** 根据商品id查找用户购物车项 */
    List<CartItem> findCartItemsByGoodsIds(@Param("goodsIds") Integer[] goodsIds, @Param("userId") Integer userId);

    /** 根据商品id删除用户购物车项 */
    Integer deleteCartItemsByGoodsIds(@Param("goodsIds") Integer[] goodsIds, @Param("userId") Integer userId);
    
    /** 根据商品状态查找用户购物车项 */
    List<CartItem> findCartItemsBystatus(@Param("status") Integer status, @Param("userId") Integer userId);

    Integer insertCartItem(CartItem entity);

    /** 更新购物车商品数量, flag为1则加, 为0则减 */
    Integer updateCartItemNumber(@Param("flag") Integer flag, @Param("entity") CartItem entity);

    /** 根据id修改购物车商品数量 */
    Integer updateCartItemNumberById(@Param("flag")Integer flag, @Param("id") Integer id);

    /** 根据用户id查找购物车id */
    Integer findCartIdByUserId(Integer userId);

    /** 根据id查找购物车项的商品 */
    CartItem findCartItemById(Integer id);

    Integer deleteCartItemById(Integer id);

    Integer insertCart(int id);

	Integer updateCartItemGoodsStatus(@Param("id")Integer id, @Param("goodsStatus")Integer goodsStatus);
}